Component({
  data: {
    isLogin: false,
  },
  // --------------生命周期-begin
  lifetimes: {
    attached() {
      // 1. 获取登录状态
      const isLogin = !!getApp().token
      // 2. 更新isLogin的值
      this.setData({
        isLogin,
      })
      // 3. 判断是否登录, 如果没有登录则跳转到登录页
      if (!isLogin) {
        // 3.1 获取页面栈
        const pageStack = getCurrentPages()
        // 3.2 取出最后一个页面对应的页面对象
        const currentPage = pageStack[pageStack.length - 1]
        // 3.3 取出页面路径
        const currentPagePath = currentPage.route

        // 3.4 重置当前页面的onLoad和onShow钩子函数
        // 因为进入当前页面如果没有登录, 则没有必要去进行一系列的初始化操作(请求数据/操作DOM...)
        // console.log('组件.....')
        currentPage.onLoad = () => {}
        currentPage.onShow = () => {}

        wx.redirectTo({
          url: `/pages/login/index?redirectURL=/${currentPagePath}`,
        })
      }
    },
  },
  // --------------生命周期-end
})
